﻿#pragma once

#include"Windows/Window.h"

#ifdef AN_ENGINE_PLATFORM_WIN32
#include "Windows/WindowsWindow.h"
#endif

namespace ArsEngine {

    Scope<Window> Window::Create(const WindowProps& props)
    {
#ifdef AN_ENGINE_PLATFORM_WIN32
        return CreateScope<WindowsWindow>(props);
#elif defined AN_ENGINE_PLATFORM_MACOS
        return CreateScope<MacosWindow>(props);
#elif defined AN_ENGINE_PLATFORM_LINUX
        return CreateScope<LinuxWindow>(props);
#else
        AN_CORE_ASSERT(false, "Unknown platform!");
        return nullptr;
#endif
    }


}
